package com.snopy.leetcode.index1_1000.index1_100;

import com.snopy.leetcode.TreeNode;
import com.snopy.utils.DataFactoryUtil;

/**
 * @author snopy
 * @version 1.0.0
 * @classname Question100
 * @description 相同的树
 *
 * 给你两棵二叉树的根节点 p 和 q ，编写一个函数来检验这两棵树是否相同。
 *
 * 如果两个树在结构上相同，并且节点具有相同的值，则认为它们是相同的
 * @email 77912204@qq.com
 * @date 2022/04/21 21:08
 */
public class Question100 {
    public static void main(String[] args) {
        Integer[] p =new Integer[]{1,2,3,4}, q =new Integer[]{1,2,3,4};

        boolean sameTree = isSameTree(DataFactoryUtil.buildTree(p), DataFactoryUtil.buildTree(q));
        System.out.println(sameTree);
    }
    public static boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null){
            return true;
        }
        if (p == null || q == null){
            return false;
        }
        if (p.val != q.val){
            return false;
        }
        return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
    }

}
